﻿using Domain.Types;
using Infrastructure.AggregateBase;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace Domain.Model
{
    [Table("Financial")]
    public class FinancialAggregate : AggregateRoot<FinancialAggregate, int>
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public override int ID { get; set; }
        /// <summary>
        /// 钱包类型
        /// </summary>
        public WalletType FinancialWalletType { get; set; }
        /// <summary>
        /// 业务操作类型
        /// </summary>
        public FinancialBizType FinancialBizType { get; set; }
        /// <summary>
        /// 业务相关标示
        /// </summary>
        public string BizNO { get; set; }
        /// <summary>
        /// 用户收入支出金额
        /// </summary>
        public int UserInComeMoney { get; set; }
        /// <summary>
        /// 系统收入支出金额
        /// </summary>
        public int SystemInComeMoney { get; set; }
        /// <summary>
        /// 参数
        /// </summary>
        public string Data { get; set; }
        /// <summary>
        /// 历史余额
        /// </summary>
        public int HistoryWalletBlance { get; set; }
        /// <summary>
        /// 用户ID
        /// </summary>
        public int UserID { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// 支付流水ID capitalflow表(支付方式和订单号)
        /// </summary>
        public string AliPayID { get; set; }

    }
}
